Skip to content

V1.0.0#70

Open
sembrestels wants to merge 135 commits into
masterfrom
next
Open

V1.0.0#70
sembrestels wants to merge 135 commits into
masterfrom
next

Conversation

@sembrestels

Copy link
Copy Markdown
Member

No description provided.

…processing;

enhance transaction handling with receipt log aggregation and error handling for
missing receipts.
- packages/sdk/src/types/bindings.ts: replace `Function` on
  `DefValue.run` with a discriminated union (`DefCommandValue` |
  `DefHelperValue`) so each `run` is typed as `CommandFunction` /
  `HelperFunction`. Adds a default generic to `CommandFunction` so it
  can be referenced without an explicit module type.
- packages/sdk/test/unit/type-validation.test.ts: prefix unused `sig`
  destructured argument with `_`.
- scripts/generate-docs.ts: drop unused `readlinkSync` import.
- biome.json: ignore `.turbo` cache files in the formatter.
Ensure package-local bunfig files still load the repo test preload now that Bun resolves the closest config.

Made-with: Cursor
Share interpretation between execution, prewarm, and hover so helper and variable values can render richer address cards without new hover-time RPC calls.

Made-with: Cursor
Code-splits Monaco out of the mobile critical path and introduces a
Shiki-based read view with twoslash-style hover popovers for addresses,
helpers, and variables. Adds a view/edit toggle whose preference rides
along on shared links. Also fixes a TheDAO-class false positive in
proxy detection by requiring implementation candidates to have
deployed bytecode.

Made-with: Cursor
Replaces Sourcify with Etherscan's unified V2 endpoint, gated by
VITE_ETHERSCAN_API_KEY. The address-hover renderer drops the noisy
"(unverified)" placeholder entirely and surfaces the implementation
contract's name on proxies (with a "via proxy" tag) instead of the
proxy shell's generic name. Also makes a tap on the script viewer
flip into the editor — equivalent to the toolbar's Edit button —
with carve-outs for hover-target taps and active text selections.

Made-with: Cursor
Prewarms helpers used as direct args to non-binding commands (e.g.
`print @token(DAI)`), which previously skipped the cache because the
walker only visited `load`/`set`/`switch`. Hover now finds the cached
address card for those calls too.

Reformats the variable hover as a single-line `**Variable** $name =
value` card, dropping the verbose "(variable)" tag and "defined on
line N" hint. The address card, when present, lives in its own
section so the renderer draws a divider between the two.

Restyles the Monaco hover widget to match the viewer popover:
shared palette via the editor theme, Ubuntu Mono typography, dark
scrollbars, and a bright-green section divider between cards. The
viewer's own divider is bumped up to match.

Flushes the editor's pending debounced sync on unmount so toggling
edit -> view within 150ms of typing no longer drops the latest text
on the floor (the Monaco model survives at module scope, but the
store -- which the viewer reads from -- went stale).

Made-with: Cursor
The prewarm walker previously fed `getCommandsUntilLine` a hardcoded
list of `["load", "set", "switch"]`, silently skipping every other
binding-producing command. Hovering `$voting` after `install $voting
voting:0.1.0`, `$myDao` after `new-dao`, `$myToken` after `new-token`,
or any variable defined by `deploy`, `sign`, `for` returned "no info";
helpers nested inside a `connect myDao { ... }` block whose body the
cursor wasn't in never reached the helper cache either.

Replaces the allowlist with a new `getAllCommandsUntilLine(line)`
traversal that visits every command in DFS pre-order regardless of
block nesting. Per-command behaviour is now driven entirely by the
node itself: `argDef.type === "variable"` seeds the USER binding,
custom argDef types with a `resolve()` hook (`module`, `dao`, ...)
get invoked, and any `eventCaptures` / `errorCaptures` on the node
seed placeholder bindings for their slot variables (and `boolVar`),
mirroring the runtime's `applyDestructure` `$`-prefixing rule. New
binding-producing commands therefore participate in prewarm with no
allowlist edits.

Hover suppresses the noisy `**Variable** $foo = $foo` rendering when
the binding value is the placeholder name (i.e. the command can't
predict its runtime output yet), so `$myContract` from `deploy`
shows as `**Variable** $myContract` rather than restating itself.

Adds regression coverage for the `deploy`-style variable, the
`-> Evt(...) [$a $b]` event capture, and the `-!>` / `-?!>` error
capture (both destructure and boolVar shapes).

Made-with: Cursor
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 2, 2026

Copy link
Copy Markdown

Deploying evmcrispr with  Cloudflare Pages  Cloudflare Pages

Latest commit: 2b8b762
Status:🚫  Build failed.

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant